/*
 *  Copyright (c) 2020-2021 Guo Limin
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package com.github.x19990416.mxpaas.application.admin.service.dto;

import com.github.x19990416.mxpaas.common.base.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
public class MenuDto extends BaseDto implements Serializable {

  private Long id;

  private List<MenuDto> children;

  private Integer type;

  private String permission;

  private String title;

  private Integer menuSort;

  private String path;

  private String component;

  private Long pid;

  private Integer subCount;

  private Boolean iFrame;

  private Boolean cache;

  private Boolean hidden;

  private String componentName;

  private String icon;

  public Boolean getHasChildren() {
    return subCount > 0;
  }

  public Boolean getLeaf() {
    return subCount <= 0;
  }

  public String getLabel() {
    return title;
  }
}
